//引入封装好的模块来操作数据
const BooksMod = require("./model/Books");
/**
 * 使用mongoose 模块调用mongoDB 功能
 * 使用模块需要先安装 npm i mongoose
 */
const mongoose = require('mongoose'); //引入mongoose模块
//useNewUrlParser 这个属性设置会在url里验证用户所需的db
mongoose.connect("mongodb://localhost:27017/tset", {
  useNewUrlParser: true
}, function (err) {

  if (err) {
    console.log(err); //链接失败回调
  } else {
    console.log("数据库链接成功")
  }
}); //设置数据库地址和库
// init();
init2()
//保存model类型数据并有默认参数
function init() {
  // 定义数据表（集合的）映射  注意：字段名称必须和数据库保持一致

  var BooksSchema = mongoose.Schema({

    name: String,
    title: {
      type: String,
      required: true, //必须有
    },
    text: {
      type: String,
      required: true, //必须有
      default: "我是测试内容" //默认值
    },
    // status: {
    //   type: Number,
    //   default: 1 //默认值
    // }
  })
  //name: string, schema?: mongoose.Schema<any, any, any, any>, collection?: string, options
  //modelName,schema对象,collection，options配置项
  var BooksModel = mongoose.model("Books", BooksSchema, "books");

  // BooksModel.find({}, function (err, doc) {//查询数据 参数：（{条件对象},回调）
  //   if (err) {
  //     console.log(err);
  //     return;
  //   }
  //   console.log(doc);
  // })

  //增加数据
  // var books =new BooksModel({
  //   name: "我的火星帝国",
  //   title: "111",

  // })
  // books.save(function (err){
  //   if(err){
  //             console.log(err);
  //             return;
  //         }
  //         console.log('增加数据成功')
  // })


}

//引入mod  存入数据 使用模块化的方式查询和存入数据
function init2() {
  // BooksMod.find({},function (err,doc){
  //   if (err) {
  //         console.log(err);
  //         return;
  //       }
  //       console.log(doc);
  // });
  let books = new BooksMod({
    name: "我的引入model",
    title: "我的引入model",
  })
  books.save();
}